<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui">

    <body>

        <ui:composition template="./TemplatePrincipal.xhtml">

            <ui:define name="top">
               
            </ui:define>

            <ui:define name="left">
               
            </ui:define>

            <ui:define name="content">
                <f:view>
                    <h:form>
                        <p:growl/>
                        <h1><h:outputText value="Datos de libro"/></h1>
                        <p:panelGrid columns="2">
                            
                            <p:outputLabel value="Clave:" for="clave" />
                            <p:inputMask id="clave" value="#{bookBean.book.clave}" mask="999aaa999a" title="Clave" required="true" requiredMessage="La Clave es requerida." validatorMessage="La clave tiene un formato: 999aaa999a">
                            </p:inputMask>
                            <p:outputLabel value="Nombre:" for="nombre" />
                            <p:inputText id="nombre" value="#{bookBean.book.nombre}" title="Nombre" required="true" requiredMessage="El Nombre es requerido." validatorMessage="Solo se aceptan letras primera de cada palabra en Mayuscula de 3 a 40 caracteres">
                            <f:validateLength maximum="40" minimum="3"/>
                                <f:validateRegex pattern="([A-Z]{1}[a-z]+\s?)+"/>
                            </p:inputText>
                            <p:outputLabel value="Isbn:" for="isbn" />
                            <p:inputMask id="isbn" value="#{bookBean.book.isbn}" mask="99999aaaaa99999aaaaa" title="Isbn" required="true" requiredMessage="El Isbn es requerido." validatorMessage="Formato isbn: 99999aaaaa99999aaaaa">
                            <f:validateLength maximum="20" minimum="1"/>   
                            </p:inputMask>
                            <p:outputLabel value="Fecha de Registro:" for="fechaRegistro" />
                            <p:calendar id="fechaRegistro" value="#{bookBean.book.fechaRegistro}" title="FechaRegistro" required="true" requiredMessage="La Fecha de registro es requerida.">
                                <f:convertDateTime pattern="dd/MM/yy" />
                                
                            </p:calendar>
                            <p:outputLabel value="Páginas:" for="paginas" />
                            <p:inputText id="paginas" value="#{bookBean.book.paginas}" title="Paginas" validatorMessage="El rango de paginas es entre 0 y 2000">
                            <f:validateLongRange minimum="0" maximum="2000"/>
                            </p:inputText>
                            <p:outputLabel value="Estado:" for="estado" />
                            <p:selectOneMenu id="estado" value="#{bookBean.book.estado}" title="Estado" required="true" requiredMessage="El Estado es requerido.">
                                <f:selectItems value="#{bookBean.listaEstado}" var="item" itemLabel="#{item}"/>
                            </p:selectOneMenu>
                            
                            <p:outputLabel value="Disponible:" for="disponible" />
                            <p:inputText id="disponible" value="#{bookBean.book.disponible}" title="Disponible" required="true" requiredMessage="Disponible es requerido."/>
                            
                            <p:outputLabel value="Autor:" for="idAutor" />
                            <p:selectOneMenu id="idAutor" value="#{bookBean.idAuthor}" title="IdAutor" required="true" requiredMessage="El Autor es requerido.">
                                <!-- TODO: update below reference to list of available items-->
                                <f:selectItems value="#{authorBean.lista}" var="item"
                                               
                                               itemLabel="#{item.nombre}#{item.apellidoPaterno
                                                }#{item.apellidoMaterno}" itemValue="#{item.id}"/>
                            </p:selectOneMenu>

                        </p:panelGrid>
                   
                        <p:panelGrid columns="3">
                    <p:outputLabel value="Categoría:" for="idCategoria" />
                    <p:selectOneMenu id="idCategoria" value="#{bookBean.idCategoria}" title="IdCategoria" required="true" requiredMessage="La Categoría es requerida.">
                                <!-- TODO: update below reference to list of available items-->
                                <f:selectItems value="#{categoryBean.list}" var="item"
                                              itemValue="#{item.id}"/>
                            </p:selectOneMenu>
                    <p:commandButton icon="ui-icon-arrowthickstop-1-s" actionListener="#{bookBean.agregarCategoria}" ajax="false"/>
                    </p:panelGrid>
                        
                        <h1><p:outputLabel value="Lista de categoría"/></h1>
                            <p:dataTable value="#{bookBean.listCategory}" var="item">
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="Id"/>
                                    </f:facet>
                                    <h:outputText value="#{item.id}"/>
                                </p:column>
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="Clave"/>
                                    </f:facet>
                                    <h:outputText value="#{item.clave}"/>
                                </p:column>
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="Descripción"/>
                                    </f:facet>
                                    <h:outputText value="#{item.descripcion}"/>
                                </p:column>
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="Color"/>
                                    </f:facet>
                                    <h:outputText value="#{item.color}"/>
                                </p:column>
                                 <p:column>
                                <f:facet name="header">
                                    <h:outputText value="Eliminar"/>
                                </f:facet>
                                 <p:commandButton icon="ui-icon-trash"
                                                  actionListener="#{bookBean.eliminarCategoriaDeLista}" ajax="false"/>
                            </p:column>
                            </p:dataTable>
                        <p:commandButton action="#{bookBean.accionAceptar}" icon="ui-icon-check" ajax="false"/>
                        <p:commandButton action="BookList" icon="ui-icon-cancel" immediate="true" ajax="false"/>
                        </h:form>

                </f:view>

            </ui:define>

        </ui:composition>

    </body>
</html>
